/*
Date:20210529 10:17AM
key:注意% ^操作一定要加括号，可能操作优先级不高
*/
class Solution {
public:
    template<typename T>
    void swap(T&a,T&b)
    {
        T tmp=move(a);
        a=b;
        b=tmp;
    }
    vector<int> exchange(vector<int>& nums)
    {
		
        int i=0;
        int j=nums.size()-1;
        
        while(i<j)
        {
                while(i<j&&((nums[j]&1)==0))
               {j--;}
               
           while(i<j&&((nums[i]&1)==1))
               {i++;}

            if(i<j){swap(nums[i],nums[j]);}
        }
        return nums;
    }
};